/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.incremental;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.incremental.TestGeneratorForICTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@RunWith(JUnit3RunnerWithInners.class)
public class IncrementalK2JvmCompilerRunnerTestGenerated extends AbstractIncrementalK2JvmCompilerRunnerTest {
  @TestMetadata("jps/jps-plugin/testData/incremental/pureKotlin")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class PureKotlinAbstractIncrementalK2JvmCompilerRunnerTest extends AbstractIncrementalK2JvmCompilerRunnerTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
    }

    @TestMetadata("accessingFunctionsViaPackagePart")
    public void testAccessingFunctionsViaPackagePart() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/accessingFunctionsViaPackagePart/");
    }

    @TestMetadata("accessingPropertiesViaField")
    public void testAccessingPropertiesViaField() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/accessingPropertiesViaField/");
    }

    @TestMetadata("addClass")
    public void testAddClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/addClass/");
    }

    @TestMetadata("addFileWithFunctionOverload")
    public void testAddFileWithFunctionOverload() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/addFileWithFunctionOverload/");
    }

    @TestMetadata("addTopLevelTypeAlias")
    public void testAddTopLevelTypeAlias() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/addTopLevelTypeAlias/");
    }

    public void testAllFilesPresentInPureKotlinAbstractIncrementalK2JvmCompilerRunnerTest() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^.]+)$"), Pattern.compile("((^.*Expect.*)|(^removeMemberTypeAlias)|(^addMemberTypeAlias))"), false);
    }

    @TestMetadata("annotations")
    public void testAnnotations() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/annotations/");
    }

    @TestMetadata("anonymousObjectChanged")
    public void testAnonymousObjectChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/anonymousObjectChanged/");
    }

    @TestMetadata("changeTypeImplicitlyWithCircularDependency")
    public void testChangeTypeImplicitlyWithCircularDependency() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/");
    }

    @TestMetadata("changeWithRemovingUsage")
    public void testChangeWithRemovingUsage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/");
    }

    @TestMetadata("checkConstants")
    public void testCheckConstants() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/checkConstants/");
    }

    @TestMetadata("classInlineFunctionChanged")
    public void testClassInlineFunctionChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classInlineFunctionChanged/");
    }

    @TestMetadata("classObjectConstantChanged")
    public void testClassObjectConstantChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classObjectConstantChanged/");
    }

    @TestMetadata("classRecreated")
    public void testClassRecreated() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classRecreated/");
    }

    @TestMetadata("classRemoved")
    public void testClassRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classRemoved/");
    }

    @TestMetadata("classSignatureChanged")
    public void testClassSignatureChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classSignatureChanged/");
    }

    @TestMetadata("classSignatureUnchanged")
    public void testClassSignatureUnchanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/classSignatureUnchanged/");
    }

    @TestMetadata("companionConstantChanged")
    public void testCompanionConstantChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/companionConstantChanged/");
    }

    @TestMetadata("compilationErrorThenFixedOtherPackage")
    public void testCompilationErrorThenFixedOtherPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedOtherPackage/");
    }

    @TestMetadata("compilationErrorThenFixedSamePackage")
    public void testCompilationErrorThenFixedSamePackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedSamePackage/");
    }

    @TestMetadata("compilationErrorThenFixedWithPhantomPart")
    public void testCompilationErrorThenFixedWithPhantomPart() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart/");
    }

    @TestMetadata("compilationErrorThenFixedWithPhantomPart2")
    public void testCompilationErrorThenFixedWithPhantomPart2() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart2/");
    }

    @TestMetadata("compilationErrorThenFixedWithPhantomPart3")
    public void testCompilationErrorThenFixedWithPhantomPart3() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/compilationErrorThenFixedWithPhantomPart3/");
    }

    @TestMetadata("constantRemoved")
    public void testConstantRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/constantRemoved/");
    }

    @TestMetadata("constantValueChanged")
    public void testConstantValueChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/constantValueChanged/");
    }

    @TestMetadata("constantsUnchanged")
    public void testConstantsUnchanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/constantsUnchanged/");
    }

    @TestMetadata("defaultArgumentInConstructorAdded")
    public void testDefaultArgumentInConstructorAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorAdded/");
    }

    @TestMetadata("defaultArgumentInConstructorRemoved")
    public void testDefaultArgumentInConstructorRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultArgumentInConstructorRemoved/");
    }

    @TestMetadata("defaultValueAdded")
    public void testDefaultValueAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueAdded/");
    }

    @TestMetadata("defaultValueChanged")
    public void testDefaultValueChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueChanged/");
    }

    @TestMetadata("defaultValueInConstructorChanged")
    public void testDefaultValueInConstructorChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorChanged/");
    }

    @TestMetadata("defaultValueInConstructorRemoved")
    public void testDefaultValueInConstructorRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueInConstructorRemoved/");
    }

    @TestMetadata("defaultValueRemoved1")
    public void testDefaultValueRemoved1() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved1/");
    }

    @TestMetadata("defaultValueRemoved2")
    public void testDefaultValueRemoved2() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/defaultValueRemoved2/");
    }

    @TestMetadata("delegatedPropertyInlineExtensionAccessor")
    public void testDelegatedPropertyInlineExtensionAccessor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineExtensionAccessor/");
    }

    @TestMetadata("delegatedPropertyInlineMethodAccessor")
    public void testDelegatedPropertyInlineMethodAccessor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/delegatedPropertyInlineMethodAccessor/");
    }

    @TestMetadata("dependencyClassReferenced")
    public void testDependencyClassReferenced() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/dependencyClassReferenced/");
    }

    @TestMetadata("differentFilesWithSameNameInSamePackage")
    public void testDifferentFilesWithSameNameInSamePackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/differentFilesWithSameNameInSamePackage/");
    }

    @TestMetadata("entriesMappings")
    public void testEntriesMappings() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/entriesMappings/");
    }

    @TestMetadata("fileWithConstantRemoved")
    public void testFileWithConstantRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/fileWithConstantRemoved/");
    }

    @TestMetadata("fileWithInlineFunctionRemoved")
    public void testFileWithInlineFunctionRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/fileWithInlineFunctionRemoved/");
    }

    @TestMetadata("filesExchangePackages")
    public void testFilesExchangePackages() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/filesExchangePackages/");
    }

    @TestMetadata("funRedeclaration")
    public void testFunRedeclaration() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/funRedeclaration/");
    }

    @TestMetadata("funVsConstructorOverloadConflict")
    public void testFunVsConstructorOverloadConflict() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/funVsConstructorOverloadConflict/");
    }

    @TestMetadata("functionBecameInline")
    public void testFunctionBecameInline() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/functionBecameInline/");
    }

    @TestMetadata("functionReferencingClass")
    public void testFunctionReferencingClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/functionReferencingClass/");
    }

    @TestMetadata("genericContextReceiverSinceK2")
    public void testGenericContextReceiverSinceK2() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/genericContextReceiverSinceK2/");
    }

    @TestMetadata("independentClasses")
    public void testIndependentClasses() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/independentClasses/");
    }

    @TestMetadata("inlineFunctionBecomesNonInline")
    public void testInlineFunctionBecomesNonInline() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionBecomesNonInline/");
    }

    @TestMetadata("inlineFunctionUsageAdded")
    public void testInlineFunctionUsageAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionUsageAdded/");
    }

    @TestMetadata("inlineFunctionsCircularDependency")
    public void testInlineFunctionsCircularDependency() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsCircularDependency/");
    }

    @TestMetadata("inlineFunctionsUnchanged")
    public void testInlineFunctionsUnchanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineFunctionsUnchanged/");
    }

    @TestMetadata("inlineLinesChanged")
    public void testInlineLinesChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineLinesChanged/");
    }

    @TestMetadata("inlineModifiedWithUsage")
    public void testInlineModifiedWithUsage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineModifiedWithUsage/");
    }

    @TestMetadata("inlinePrivateFunctionAdded")
    public void testInlinePrivateFunctionAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlinePrivateFunctionAdded/");
    }

    @TestMetadata("inlinePropertyInClass")
    public void testInlinePropertyInClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/");
    }

    @TestMetadata("inlinePropertyOnTopLevel")
    public void testInlinePropertyOnTopLevel() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/");
    }

    @TestMetadata("inlineSuspendFunctionChanged")
    public void testInlineSuspendFunctionChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineSuspendFunctionChanged/");
    }

    @TestMetadata("inlineTwoFunctionsOneChanged")
    public void testInlineTwoFunctionsOneChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineTwoFunctionsOneChanged/");
    }

    @TestMetadata("inlineUsedWhereDeclared")
    public void testInlineUsedWhereDeclared() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/inlineUsedWhereDeclared/");
    }

    @TestMetadata("innerClassesFromSupertypes")
    public void testInnerClassesFromSupertypes() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/");
    }

    @TestMetadata("internalClassChanged")
    public void testInternalClassChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/internalClassChanged/");
    }

    @TestMetadata("internalMemberInClassChanged")
    public void testInternalMemberInClassChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/internalMemberInClassChanged/");
    }

    @TestMetadata("internalTypealias")
    public void testInternalTypealias() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/internalTypealias/");
    }

    @TestMetadata("internalTypealiasConstructor")
    public void testInternalTypealiasConstructor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/internalTypealiasConstructor/");
    }

    @TestMetadata("internalTypealiasObject")
    public void testInternalTypealiasObject() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/internalTypealiasObject/");
    }

    @TestMetadata("localClassChanged")
    public void testLocalClassChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/localClassChanged/");
    }

    @TestMetadata("moveClass")
    public void testMoveClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/moveClass/");
    }

    @TestMetadata("moveFileWithChangingPackage")
    public void testMoveFileWithChangingPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/");
    }

    @TestMetadata("moveFileWithoutChangingPackage")
    public void testMoveFileWithoutChangingPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/moveFileWithoutChangingPackage/");
    }

    @TestMetadata("multiplePackagesModified")
    public void testMultiplePackagesModified() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/multiplePackagesModified/");
    }

    @TestMetadata("objectConstantChanged")
    public void testObjectConstantChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/objectConstantChanged/");
    }

    @TestMetadata("ourClassReferenced")
    public void testOurClassReferenced() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/ourClassReferenced/");
    }

    @TestMetadata("overloadInlined")
    public void testOverloadInlined() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/overloadInlined/");
    }

    @TestMetadata("packageConstantChanged")
    public void testPackageConstantChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageConstantChanged/");
    }

    @TestMetadata("packageFileAdded")
    public void testPackageFileAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageFileAdded/");
    }

    @TestMetadata("packageFileChangedPackage")
    public void testPackageFileChangedPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageFileChangedPackage/");
    }

    @TestMetadata("packageFileChangedThenOtherRemoved")
    public void testPackageFileChangedThenOtherRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageFileChangedThenOtherRemoved/");
    }

    @TestMetadata("packageFileRemoved")
    public void testPackageFileRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageFileRemoved/");
    }

    @TestMetadata("packageFilesChangedInTurn")
    public void testPackageFilesChangedInTurn() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageFilesChangedInTurn/");
    }

    @TestMetadata("packageInlineFunctionAccessingField")
    public void testPackageInlineFunctionAccessingField() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageInlineFunctionAccessingField/");
    }

    @TestMetadata("packageInlineFunctionFromOurPackage")
    public void testPackageInlineFunctionFromOurPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageInlineFunctionFromOurPackage/");
    }

    @TestMetadata("packagePrivateOnlyChanged")
    public void testPackagePrivateOnlyChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/");
    }

    @TestMetadata("packageRecreated")
    public void testPackageRecreated() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageRecreated/");
    }

    @TestMetadata("packageRecreatedAfterRenaming")
    public void testPackageRecreatedAfterRenaming() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageRecreatedAfterRenaming/");
    }

    @TestMetadata("packageRemoved")
    public void testPackageRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/packageRemoved/");
    }

    @TestMetadata("parameterWithDefaultValueAdded")
    public void testParameterWithDefaultValueAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/");
    }

    @TestMetadata("parameterWithDefaultValueRemoved")
    public void testParameterWithDefaultValueRemoved() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/");
    }

    @TestMetadata("privateConstantsChanged")
    public void testPrivateConstantsChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateConstantsChanged/");
    }

    @TestMetadata("privateMethodAdded")
    public void testPrivateMethodAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateMethodAdded/");
    }

    @TestMetadata("privateMethodDeleted")
    public void testPrivateMethodDeleted() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateMethodDeleted/");
    }

    @TestMetadata("privateMethodSignatureChanged")
    public void testPrivateMethodSignatureChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateMethodSignatureChanged/");
    }

    @TestMetadata("privateSecondaryConstructorAdded")
    public void testPrivateSecondaryConstructorAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateSecondaryConstructorAdded/");
    }

    @TestMetadata("privateSecondaryConstructorDeleted")
    public void testPrivateSecondaryConstructorDeleted() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateSecondaryConstructorDeleted/");
    }

    @TestMetadata("privateValAccessorChanged")
    public void testPrivateValAccessorChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateValAccessorChanged/");
    }

    @TestMetadata("privateValAdded")
    public void testPrivateValAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateValAdded/");
    }

    @TestMetadata("privateValDeleted")
    public void testPrivateValDeleted() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateValDeleted/");
    }

    @TestMetadata("privateValSignatureChanged")
    public void testPrivateValSignatureChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateValSignatureChanged/");
    }

    @TestMetadata("privateVarAdded")
    public void testPrivateVarAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateVarAdded/");
    }

    @TestMetadata("privateVarDeleted")
    public void testPrivateVarDeleted() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateVarDeleted/");
    }

    @TestMetadata("privateVarSignatureChanged")
    public void testPrivateVarSignatureChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/privateVarSignatureChanged/");
    }

    @TestMetadata("propertyRedeclaration")
    public void testPropertyRedeclaration() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/propertyRedeclaration/");
    }

    @TestMetadata("publicPropertyWithPrivateSetter")
    public void testPublicPropertyWithPrivateSetter() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/publicPropertyWithPrivateSetter/");
    }

    @TestMetadata("removeAndRestoreCompanion")
    public void testRemoveAndRestoreCompanion() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanion/");
    }

    @TestMetadata("removeAndRestoreCompanionWithImplicitUsages")
    public void testRemoveAndRestoreCompanionWithImplicitUsages() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeAndRestoreCompanionWithImplicitUsages/");
    }

    @TestMetadata("removeClass")
    public void testRemoveClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeClass/");
    }

    @TestMetadata("removeClassInDefaultPackage")
    public void testRemoveClassInDefaultPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeClassInDefaultPackage/");
    }

    @TestMetadata("removeFileWithFunctionOverload")
    public void testRemoveFileWithFunctionOverload() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeFileWithFunctionOverload/");
    }

    @TestMetadata("removeImportedClass")
    public void testRemoveImportedClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeImportedClass/");
    }

    @TestMetadata("removeTopLevelTypeAlias")
    public void testRemoveTopLevelTypeAlias() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeTopLevelTypeAlias/");
    }

    @TestMetadata("removeUnusedFile")
    public void testRemoveUnusedFile() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/removeUnusedFile/");
    }

    @TestMetadata("renameClass")
    public void testRenameClass() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameClass/");
    }

    @TestMetadata("renameFileWithClassesOnly")
    public void testRenameFileWithClassesOnly() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithClassesOnly/");
    }

    @TestMetadata("renameFileWithFunctionOverload")
    public void testRenameFileWithFunctionOverload() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/renameFileWithFunctionOverload/");
    }

    @TestMetadata("returnTypeChanged")
    public void testReturnTypeChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/returnTypeChanged/");
    }

    @TestMetadata("samConversion")
    public void testSamConversion() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/samConversion/");
    }

    @TestMetadata("sealedClassesAddImplements")
    public void testSealedClassesAddImplements() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddImplements/");
    }

    @TestMetadata("sealedClassesAddIndirectInheritor")
    public void testSealedClassesAddIndirectInheritor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddIndirectInheritor/");
    }

    @TestMetadata("sealedClassesAddInheritor")
    public void testSealedClassesAddInheritor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesAddInheritor/");
    }

    @TestMetadata("sealedClassesRemoveImplements")
    public void testSealedClassesRemoveImplements() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveImplements/");
    }

    @TestMetadata("sealedClassesRemoveInheritor")
    public void testSealedClassesRemoveInheritor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesRemoveInheritor/");
    }

    @TestMetadata("sealedClassesWhenExpression")
    public void testSealedClassesWhenExpression() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sealedClassesWhenExpression/");
    }

    @TestMetadata("secondaryConstructorInlined")
    public void testSecondaryConstructorInlined() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/secondaryConstructorInlined/");
    }

    @TestMetadata("sequentualAddingAndDeletingOfPropertyAndUsage")
    public void testSequentualAddingAndDeletingOfPropertyAndUsage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/sequentualAddingAndDeletingOfPropertyAndUsage/");
    }

    @TestMetadata("serializedSubClassAndChangedInterfaces")
    public void testSerializedSubClassAndChangedInterfaces() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/serializedSubClassAndChangedInterfaces/");
    }

    @TestMetadata("simpleClassDependency")
    public void testSimpleClassDependency() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/simpleClassDependency/");
    }

    @TestMetadata("soleFileChangesPackage")
    public void testSoleFileChangesPackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/soleFileChangesPackage/");
    }

    @TestMetadata("subpackage")
    public void testSubpackage() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/subpackage/");
    }

    @TestMetadata("suspendWithStateMachine")
    public void testSuspendWithStateMachine() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/suspendWithStateMachine/");
    }

    @TestMetadata("topLevelFunctionSameSignature")
    public void testTopLevelFunctionSameSignature() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/topLevelFunctionSameSignature/");
    }

    @TestMetadata("topLevelMembersInTwoFiles")
    public void testTopLevelMembersInTwoFiles() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/topLevelMembersInTwoFiles/");
    }

    @TestMetadata("topLevelPrivateValUsageAdded")
    public void testTopLevelPrivateValUsageAdded() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/topLevelPrivateValUsageAdded/");
    }

    @TestMetadata("traitClassObjectConstantChanged")
    public void testTraitClassObjectConstantChanged() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/");
    }

    @TestMetadata("typealiasNameClash2_NoJps_SinceK2")
    public void testTypealiasNameClash2_NoJps_SinceK2() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/typealiasNameClash2_NoJps_SinceK2/");
    }

    @TestMetadata("typealiasNameClash_NoJps_SinceK2")
    public void testTypealiasNameClash_NoJps_SinceK2() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/typealiasNameClash_NoJps_SinceK2/");
    }

    @TestMetadata("valAddCustomAccessor")
    public void testValAddCustomAccessor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/valAddCustomAccessor/");
    }

    @TestMetadata("valRemoveCustomAccessor")
    public void testValRemoveCustomAccessor() {
      runTest("jps/jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/");
    }
  }

  @TestMetadata("jps/jps-plugin/testData/incremental/classHierarchyAffected")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class ClassHierarchyAffectedAbstractIncrementalK2JvmCompilerRunnerTest extends AbstractIncrementalK2JvmCompilerRunnerTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInClassHierarchyAffectedAbstractIncrementalK2JvmCompilerRunnerTest() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/classHierarchyAffected"), Pattern.compile("^([^.]+)$"), null, false);
    }

    @TestMetadata("annotationFlagRemoved")
    public void testAnnotationFlagRemoved() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationFlagRemoved/");
    }

    @TestMetadata("annotationListChanged")
    public void testAnnotationListChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/annotationListChanged/");
    }

    @TestMetadata("bridgeGenerated")
    public void testBridgeGenerated() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/bridgeGenerated/");
    }

    @TestMetadata("classBecameFinal")
    public void testClassBecameFinal() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameFinal/");
    }

    @TestMetadata("classBecameInterface")
    public void testClassBecameInterface() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecameInterface/");
    }

    @TestMetadata("classBecamePrivate")
    public void testClassBecamePrivate() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classBecamePrivate/");
    }

    @TestMetadata("classMovedIntoOtherClass")
    public void testClassMovedIntoOtherClass() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classMovedIntoOtherClass/");
    }

    @TestMetadata("classRemoved")
    public void testClassRemoved() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemoved/");
    }

    @TestMetadata("classRemovedAndRestored")
    public void testClassRemovedAndRestored() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/classRemovedAndRestored/");
    }

    @TestMetadata("companionObjectInheritedMemberChanged")
    public void testCompanionObjectInheritedMemberChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectInheritedMemberChanged/");
    }

    @TestMetadata("companionObjectMemberChanged")
    public void testCompanionObjectMemberChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectMemberChanged/");
    }

    @TestMetadata("companionObjectNameChanged")
    public void testCompanionObjectNameChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectNameChanged/");
    }

    @TestMetadata("companionObjectToSimpleObject")
    public void testCompanionObjectToSimpleObject() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/companionObjectToSimpleObject/");
    }

    @TestMetadata("constructorVisibilityChanged")
    public void testConstructorVisibilityChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/constructorVisibilityChanged/");
    }

    @TestMetadata("enumEntryAdded")
    public void testEnumEntryAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryAdded/");
    }

    @TestMetadata("enumEntryRemoved")
    public void testEnumEntryRemoved() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/enumEntryRemoved/");
    }

    @TestMetadata("enumMemberChanged")
    public void testEnumMemberChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/enumMemberChanged/");
    }

    @TestMetadata("flagsAndMemberInDifferentClassesChanged")
    public void testFlagsAndMemberInDifferentClassesChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInDifferentClassesChanged/");
    }

    @TestMetadata("flagsAndMemberInSameClassChanged")
    public void testFlagsAndMemberInSameClassChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/flagsAndMemberInSameClassChanged/");
    }

    @TestMetadata("implcitUpcast")
    public void testImplcitUpcast() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/implcitUpcast/");
    }

    @TestMetadata("inferredTypeArgumentChanged")
    public void testInferredTypeArgumentChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeArgumentChanged/");
    }

    @TestMetadata("inferredTypeChanged")
    public void testInferredTypeChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/");
    }

    @TestMetadata("interfaceAnyMethods")
    public void testInterfaceAnyMethods() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/");
    }

    @TestMetadata("lambdaParameterAffected")
    public void testLambdaParameterAffected() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/");
    }

    @TestMetadata("methodAdded")
    public void testMethodAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAdded/");
    }

    @TestMetadata("methodAnnotationAdded")
    public void testMethodAnnotationAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/methodAnnotationAdded/");
    }

    @TestMetadata("methodNullabilityChanged")
    public void testMethodNullabilityChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/methodNullabilityChanged/");
    }

    @TestMetadata("methodParameterWithDefaultValueAdded")
    public void testMethodParameterWithDefaultValueAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/methodParameterWithDefaultValueAdded/");
    }

    @TestMetadata("methodRemoved")
    public void testMethodRemoved() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/methodRemoved/");
    }

    @TestMetadata("outerClassVisibilityChanged")
    public void testOuterClassVisibilityChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/outerClassVisibilityChanged/");
    }

    @TestMetadata("overrideExplicit")
    public void testOverrideExplicit() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideExplicit/");
    }

    @TestMetadata("overrideImplicit")
    public void testOverrideImplicit() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/overrideImplicit/");
    }

    @TestMetadata("propertyNullabilityChanged")
    public void testPropertyNullabilityChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/propertyNullabilityChanged/");
    }

    @TestMetadata("sealedClassImplAdded")
    public void testSealedClassImplAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassImplAdded/");
    }

    @TestMetadata("sealedClassIndirectImplAdded")
    public void testSealedClassIndirectImplAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassIndirectImplAdded/");
    }

    @TestMetadata("sealedClassNestedImplAdded")
    public void testSealedClassNestedImplAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/sealedClassNestedImplAdded/");
    }

    @TestMetadata("secondaryConstructorAdded")
    public void testSecondaryConstructorAdded() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/secondaryConstructorAdded/");
    }

    @TestMetadata("starProjectionUpperBoundChanged")
    public void testStarProjectionUpperBoundChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/starProjectionUpperBoundChanged/");
    }

    @TestMetadata("supertypesListChanged")
    public void testSupertypesListChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/supertypesListChanged/");
    }

    @TestMetadata("typeParameterListChanged")
    public void testTypeParameterListChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/typeParameterListChanged/");
    }

    @TestMetadata("varianceChanged")
    public void testVarianceChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/varianceChanged/");
    }

    @TestMetadata("withIntermediateBodiesChanged")
    public void testWithIntermediateBodiesChanged() {
      runTest("jps/jps-plugin/testData/incremental/classHierarchyAffected/withIntermediateBodiesChanged/");
    }
  }

  @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class InlineFunCallSiteAbstractIncrementalK2JvmCompilerRunnerTest extends AbstractIncrementalK2JvmCompilerRunnerTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInInlineFunCallSiteAbstractIncrementalK2JvmCompilerRunnerTest() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite"), Pattern.compile("^([^.]+)$"), null, true);
    }

    @TestMetadata("classProperty")
    public void testClassProperty() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty/");
    }

    @TestMetadata("companionObjectProperty")
    public void testCompanionObjectProperty() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty/");
    }

    @TestMetadata("coroutine")
    public void testCoroutine() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine/");
    }

    @TestMetadata("function")
    public void testFunction() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/function/");
    }

    @TestMetadata("functionIndirect")
    public void testFunctionIndirect() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect/");
    }

    @TestMetadata("getter")
    public void testGetter() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/getter/");
    }

    @TestMetadata("lambda")
    public void testLambda() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda/");
    }

    @TestMetadata("localFun")
    public void testLocalFun() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun/");
    }

    @TestMetadata("method")
    public void testMethod() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/method/");
    }

    @TestMetadata("parameterDefaultValue")
    public void testParameterDefaultValue() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue/");
    }

    @TestMetadata("primaryConstructorParameterDefaultValue")
    public void testPrimaryConstructorParameterDefaultValue() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue/");
    }

    @TestMetadata("publishedApi")
    public void testPublishedApi() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/publishedApi/");
    }

    @TestMetadata("superCall")
    public void testSuperCall() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall/");
    }

    @TestMetadata("thisCall")
    public void testThisCall() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall/");
    }

    @TestMetadata("topLevelObjectProperty")
    public void testTopLevelObjectProperty() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty/");
    }

    @TestMetadata("topLevelProperty")
    public void testTopLevelProperty() {
      runTest("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty/");
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class ClassProperty extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInClassProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/classProperty"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class CompanionObjectProperty extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInCompanionObjectProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/companionObjectProperty"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Coroutine extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInCoroutine() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/coroutine"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/function")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Function extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInFunction() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/function"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class FunctionIndirect extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInFunctionIndirect() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/functionIndirect"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/getter")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Getter extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInGetter() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/getter"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Lambda extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInLambda() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/lambda"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class LocalFun extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInLocalFun() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/localFun"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/method")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Method extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInMethod() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/method"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class ParameterDefaultValue extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInParameterDefaultValue() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/parameterDefaultValue"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class PrimaryConstructorParameterDefaultValue extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInPrimaryConstructorParameterDefaultValue() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/primaryConstructorParameterDefaultValue"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/publishedApi")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class PublishedApi extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInPublishedApi() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/publishedApi"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class SuperCall extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInSuperCall() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/superCall"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class ThisCall extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInThisCall() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/thisCall"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class TopLevelObjectProperty extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInTopLevelObjectProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelObjectProperty"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class TopLevelProperty extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInTopLevelProperty() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/inlineFunCallSite/topLevelProperty"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }
  }

  @TestMetadata("jps/jps-plugin/testData/incremental/withJava")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class WithJavaAbstractIncrementalK2JvmCompilerRunnerTest extends AbstractIncrementalK2JvmCompilerRunnerTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInWithJavaAbstractIncrementalK2JvmCompilerRunnerTest() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava"), Pattern.compile("^([^.]+)$"), null, true);
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class ConvertBetweenJavaAndKotlin extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInConvertBetweenJavaAndKotlin() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin"), Pattern.compile("^([^.]+)$"), null, true);
      }

      @TestMetadata("javaToKotlin")
      public void testJavaToKotlin() {
        runTest("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin/");
      }

      @TestMetadata("javaToKotlinAndBack")
      public void testJavaToKotlinAndBack() {
        runTest("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack/");
      }

      @TestMetadata("javaToKotlinAndRemove")
      public void testJavaToKotlinAndRemove() {
        runTest("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove/");
      }

      @TestMetadata("kotlinToJava")
      public void testKotlinToJava() {
        runTest("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava/");
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaToKotlin extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaToKotlin() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlin"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaToKotlinAndBack extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaToKotlinAndBack() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndBack"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaToKotlinAndRemove extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaToKotlinAndRemove() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/javaToKotlinAndRemove"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class KotlinToJava extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInKotlinToJava() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/convertBetweenJavaAndKotlin/kotlinToJava"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class JavaUsedInKotlin extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInJavaUsedInKotlin() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin"), Pattern.compile("^([^.]+)$"), null, true);
      }

      @TestMetadata("changeFieldType")
      public void testChangeFieldType() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeFieldType/");
      }

      @TestMetadata("changeNotUsedSignature")
      public void testChangeNotUsedSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeNotUsedSignature/");
      }

      @TestMetadata("changePropertyOverrideType")
      public void testChangePropertyOverrideType() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changePropertyOverrideType/");
      }

      @TestMetadata("changeSignature")
      public void testChangeSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignature/");
      }

      @TestMetadata("changeSignaturePackagePrivate")
      public void testChangeSignaturePackagePrivate() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivate/");
      }

      @TestMetadata("changeSignaturePackagePrivateNonRoot")
      public void testChangeSignaturePackagePrivateNonRoot() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivateNonRoot/");
      }

      @TestMetadata("changeSignatureStatic")
      public void testChangeSignatureStatic() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignatureStatic/");
      }

      @TestMetadata("constantChanged")
      public void testConstantChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantChanged/");
      }

      @TestMetadata("constantPropertyChanged")
      public void testConstantPropertyChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantPropertyChanged/");
      }

      @TestMetadata("constantUnchanged")
      public void testConstantUnchanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantUnchanged/");
      }

      @TestMetadata("enumEntryAdded")
      public void testEnumEntryAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryAdded/");
      }

      @TestMetadata("enumEntryRemoved")
      public void testEnumEntryRemoved() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryRemoved/");
      }

      @TestMetadata("javaAndKotlinChangedSimultaneously")
      public void testJavaAndKotlinChangedSimultaneously() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaAndKotlinChangedSimultaneously/");
      }

      @TestMetadata("javaFieldNullabilityChanged")
      public void testJavaFieldNullabilityChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaFieldNullabilityChanged/");
      }

      @TestMetadata("javaMethodParamNullabilityChanged")
      public void testJavaMethodParamNullabilityChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodParamNullabilityChanged/");
      }

      @TestMetadata("javaMethodReturnTypeNullabilityChanged")
      public void testJavaMethodReturnTypeNullabilityChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodReturnTypeNullabilityChanged/");
      }

      @TestMetadata("methodAddedInSuper")
      public void testMethodAddedInSuper() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodAddedInSuper/");
      }

      @TestMetadata("methodRenamed")
      public void testMethodRenamed() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodRenamed/");
      }

      @TestMetadata("mixedInheritance")
      public void testMixedInheritance() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/");
      }

      @TestMetadata("notChangeSignature")
      public void testNotChangeSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/notChangeSignature/");
      }

      @TestMetadata("rawErrorTypeDuringSerialization")
      public void testRawErrorTypeDuringSerialization() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/rawErrorTypeDuringSerialization/");
      }

      @TestMetadata("removeAnnotation")
      public void testRemoveAnnotation() {
        runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/removeAnnotation/");
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeFieldType")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeFieldType extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeFieldType() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeFieldType"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeNotUsedSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeNotUsedSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeNotUsedSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeNotUsedSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changePropertyOverrideType")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangePropertyOverrideType extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangePropertyOverrideType() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changePropertyOverrideType"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivate")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeSignaturePackagePrivate extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeSignaturePackagePrivate() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivate"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivateNonRoot")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeSignaturePackagePrivateNonRoot extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeSignaturePackagePrivateNonRoot() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignaturePackagePrivateNonRoot"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignatureStatic")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeSignatureStatic extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeSignatureStatic() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/changeSignatureStatic"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConstantChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConstantChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantPropertyChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConstantPropertyChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConstantPropertyChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantPropertyChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantUnchanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConstantUnchanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConstantUnchanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/constantUnchanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class EnumEntryAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInEnumEntryAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryRemoved")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class EnumEntryRemoved extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInEnumEntryRemoved() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/enumEntryRemoved"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaAndKotlinChangedSimultaneously")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaAndKotlinChangedSimultaneously extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaAndKotlinChangedSimultaneously() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaAndKotlinChangedSimultaneously"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaFieldNullabilityChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaFieldNullabilityChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaFieldNullabilityChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaFieldNullabilityChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodParamNullabilityChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaMethodParamNullabilityChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaMethodParamNullabilityChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodParamNullabilityChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodReturnTypeNullabilityChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JavaMethodReturnTypeNullabilityChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJavaMethodReturnTypeNullabilityChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/javaMethodReturnTypeNullabilityChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodAddedInSuper")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MethodAddedInSuper extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMethodAddedInSuper() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodAddedInSuper"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodRenamed")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MethodRenamed extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMethodRenamed() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/methodRenamed"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MixedInheritance extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMixedInheritance() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/notChangeSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class NotChangeSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInNotChangeSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/notChangeSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/rawErrorTypeDuringSerialization")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class RawErrorTypeDuringSerialization extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInRawErrorTypeDuringSerialization() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/rawErrorTypeDuringSerialization"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/removeAnnotation")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class RemoveAnnotation extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInRemoveAnnotation() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/removeAnnotation"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class SamConversions extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInSamConversions() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions"), Pattern.compile("^([^.]+)$"), null, true);
        }

        @TestMetadata("methodAddDefault")
        public void testMethodAddDefault() {
          runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddDefault/");
        }

        @TestMetadata("methodAdded")
        public void testMethodAdded() {
          runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAdded/");
        }

        @TestMetadata("methodAddedSamAdapter")
        public void testMethodAddedSamAdapter() {
          runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddedSamAdapter/");
        }

        @TestMetadata("methodSignatureChanged")
        public void testMethodSignatureChanged() {
          runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChanged/");
        }

        @TestMetadata("methodSignatureChangedSamAdapter")
        public void testMethodSignatureChangedSamAdapter() {
          runTest("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChangedSamAdapter/");
        }

        @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddDefault")
        @TestDataPath("$PROJECT_ROOT")
        @RunWith(JUnit3RunnerWithInners.class)
        public static class MethodAddDefault extends AbstractIncrementalK2JvmCompilerRunnerTest {
          private void runTest(String testDataFilePath) {
            KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
          }

          public void testAllFilesPresentInMethodAddDefault() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddDefault"), Pattern.compile("^([^.]+)$"), null, true);
          }
        }

        @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAdded")
        @TestDataPath("$PROJECT_ROOT")
        @RunWith(JUnit3RunnerWithInners.class)
        public static class MethodAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
          private void runTest(String testDataFilePath) {
            KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
          }

          public void testAllFilesPresentInMethodAdded() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAdded"), Pattern.compile("^([^.]+)$"), null, true);
          }
        }

        @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddedSamAdapter")
        @TestDataPath("$PROJECT_ROOT")
        @RunWith(JUnit3RunnerWithInners.class)
        public static class MethodAddedSamAdapter extends AbstractIncrementalK2JvmCompilerRunnerTest {
          private void runTest(String testDataFilePath) {
            KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
          }

          public void testAllFilesPresentInMethodAddedSamAdapter() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodAddedSamAdapter"), Pattern.compile("^([^.]+)$"), null, true);
          }
        }

        @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChanged")
        @TestDataPath("$PROJECT_ROOT")
        @RunWith(JUnit3RunnerWithInners.class)
        public static class MethodSignatureChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
          private void runTest(String testDataFilePath) {
            KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
          }

          public void testAllFilesPresentInMethodSignatureChanged() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChanged"), Pattern.compile("^([^.]+)$"), null, true);
          }
        }

        @TestMetadata("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChangedSamAdapter")
        @TestDataPath("$PROJECT_ROOT")
        @RunWith(JUnit3RunnerWithInners.class)
        public static class MethodSignatureChangedSamAdapter extends AbstractIncrementalK2JvmCompilerRunnerTest {
          private void runTest(String testDataFilePath) {
            KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
          }

          public void testAllFilesPresentInMethodSignatureChangedSamAdapter() {
            KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/samConversions/methodSignatureChangedSamAdapter"), Pattern.compile("^([^.]+)$"), null, true);
          }
        }
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class KotlinUsedInJava extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      @TestMetadata("addOptionalParameter")
      public void testAddOptionalParameter() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter/");
      }

      public void testAllFilesPresentInKotlinUsedInJava() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava"), Pattern.compile("^([^.]+)$"), null, true);
      }

      @TestMetadata("changeNotUsedSignature")
      public void testChangeNotUsedSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeNotUsedSignature/");
      }

      @TestMetadata("changeSignature")
      public void testChangeSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeSignature/");
      }

      @TestMetadata("constantChanged")
      public void testConstantChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/");
      }

      @TestMetadata("constantUnchanged")
      public void testConstantUnchanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged/");
      }

      @TestMetadata("funRenamed")
      public void testFunRenamed() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/funRenamed/");
      }

      @TestMetadata("importedClassRemoved")
      public void testImportedClassRemoved() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/importedClassRemoved/");
      }

      @TestMetadata("jvmFieldChanged")
      public void testJvmFieldChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/");
      }

      @TestMetadata("jvmFieldUnchanged")
      public void testJvmFieldUnchanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/");
      }

      @TestMetadata("methodAddedInSuper")
      public void testMethodAddedInSuper() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/methodAddedInSuper/");
      }

      @TestMetadata("notChangeSignature")
      public void testNotChangeSignature() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/notChangeSignature/");
      }

      @TestMetadata("onlyTopLevelFunctionInFileRemoved")
      public void testOnlyTopLevelFunctionInFileRemoved() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/onlyTopLevelFunctionInFileRemoved/");
      }

      @TestMetadata("packageFileAdded")
      public void testPackageFileAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/packageFileAdded/");
      }

      @TestMetadata("privateChanges")
      public void testPrivateChanges() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/privateChanges/");
      }

      @TestMetadata("propertyRenamed")
      public void testPropertyRenamed() {
        runTest("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/propertyRenamed/");
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class AddOptionalParameter extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInAddOptionalParameter() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/addOptionalParameter"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeNotUsedSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeNotUsedSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeNotUsedSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeNotUsedSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ChangeSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInChangeSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/changeSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConstantChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConstantChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConstantUnchanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConstantUnchanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/funRenamed")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class FunRenamed extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInFunRenamed() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/funRenamed"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/importedClassRemoved")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ImportedClassRemoved extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInImportedClassRemoved() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/importedClassRemoved"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JvmFieldChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJvmFieldChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JvmFieldUnchanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJvmFieldUnchanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/methodAddedInSuper")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MethodAddedInSuper extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMethodAddedInSuper() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/methodAddedInSuper"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/notChangeSignature")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class NotChangeSignature extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInNotChangeSignature() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/notChangeSignature"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/onlyTopLevelFunctionInFileRemoved")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class OnlyTopLevelFunctionInFileRemoved extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInOnlyTopLevelFunctionInFileRemoved() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/onlyTopLevelFunctionInFileRemoved"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/packageFileAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PackageFileAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPackageFileAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/packageFileAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/privateChanges")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PrivateChanges extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPrivateChanges() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/privateChanges"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/propertyRenamed")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PropertyRenamed extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPropertyRenamed() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/propertyRenamed"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class Other extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      @TestMetadata("accessingFunctionsViaRenamedFileClass")
      public void testAccessingFunctionsViaRenamedFileClass() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass/");
      }

      public void testAllFilesPresentInOther() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other"), Pattern.compile("^([^.]+)$"), null, true);
      }

      @TestMetadata("allKotlinFilesRemovedThenNewAdded")
      public void testAllKotlinFilesRemovedThenNewAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/allKotlinFilesRemovedThenNewAdded/");
      }

      @TestMetadata("classRedeclaration")
      public void testClassRedeclaration() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/classRedeclaration/");
      }

      @TestMetadata("classToPackageFacade")
      public void testClassToPackageFacade() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade/");
      }

      @TestMetadata("conflictingPlatformDeclarations")
      public void testConflictingPlatformDeclarations() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/conflictingPlatformDeclarations/");
      }

      @TestMetadata("defaultValueInConstructorAdded")
      public void testDefaultValueInConstructorAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded/");
      }

      @TestMetadata("inlineFunctionWithJvmNameInClass")
      public void testInlineFunctionWithJvmNameInClass() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass/");
      }

      @TestMetadata("inlineTopLevelFunctionWithJvmName")
      public void testInlineTopLevelFunctionWithJvmName() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName/");
      }

      @TestMetadata("inlineTopLevelValPropertyWithJvmName")
      public void testInlineTopLevelValPropertyWithJvmName() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName/");
      }

      @TestMetadata("innerClassNotGeneratedWhenRebuilding")
      public void testInnerClassNotGeneratedWhenRebuilding() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/innerClassNotGeneratedWhenRebuilding/");
      }

      @TestMetadata("jvmNameChanged")
      public void testJvmNameChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged/");
      }

      @TestMetadata("mainRedeclaration")
      public void testMainRedeclaration() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/mainRedeclaration/");
      }

      @TestMetadata("multifileClassAddTopLevelFunWithDefault")
      public void testMultifileClassAddTopLevelFunWithDefault() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault/");
      }

      @TestMetadata("multifileClassFileAdded")
      public void testMultifileClassFileAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded/");
      }

      @TestMetadata("multifileClassFileChanged")
      public void testMultifileClassFileChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileChanged/");
      }

      @TestMetadata("multifileClassFileMovedToAnotherMultifileClass")
      public void testMultifileClassFileMovedToAnotherMultifileClass() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileMovedToAnotherMultifileClass/");
      }

      @TestMetadata("multifileClassInlineFunction")
      public void testMultifileClassInlineFunction() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunction/");
      }

      @TestMetadata("multifileClassInlineFunctionAccessingField")
      public void testMultifileClassInlineFunctionAccessingField() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunctionAccessingField/");
      }

      @TestMetadata("multifileClassRecreated")
      public void testMultifileClassRecreated() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreated/");
      }

      @TestMetadata("multifileClassRecreatedAfterRenaming")
      public void testMultifileClassRecreatedAfterRenaming() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreatedAfterRenaming/");
      }

      @TestMetadata("multifileClassRemoved")
      public void testMultifileClassRemoved() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRemoved/");
      }

      @TestMetadata("multifileDependantUsage")
      public void testMultifileDependantUsage() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage/");
      }

      @TestMetadata("multifilePackagePartMethodAdded")
      public void testMultifilePackagePartMethodAdded() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded/");
      }

      @TestMetadata("multifilePartsWithProperties")
      public void testMultifilePartsWithProperties() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/multifilePartsWithProperties/");
      }

      @TestMetadata("optionalParameter")
      public void testOptionalParameter() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/optionalParameter/");
      }

      @TestMetadata("packageFacadeToClass")
      public void testPackageFacadeToClass() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/packageFacadeToClass/");
      }

      @TestMetadata("packageMultifileClassOneFileWithPublicChanges")
      public void testPackageMultifileClassOneFileWithPublicChanges() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassOneFileWithPublicChanges/");
      }

      @TestMetadata("packageMultifileClassPrivateOnlyChanged")
      public void testPackageMultifileClassPrivateOnlyChanged() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassPrivateOnlyChanged/");
      }

      @TestMetadata("publicPropertyWithPrivateSetterMultiFileFacade")
      public void testPublicPropertyWithPrivateSetterMultiFileFacade() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/publicPropertyWithPrivateSetterMultiFileFacade/");
      }

      @TestMetadata("topLevelFunctionWithJvmName")
      public void testTopLevelFunctionWithJvmName() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName/");
      }

      @TestMetadata("topLevelPropertyWithJvmName")
      public void testTopLevelPropertyWithJvmName() {
        runTest("jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName/");
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class AccessingFunctionsViaRenamedFileClass extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInAccessingFunctionsViaRenamedFileClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/accessingFunctionsViaRenamedFileClass"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/allKotlinFilesRemovedThenNewAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class AllKotlinFilesRemovedThenNewAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInAllKotlinFilesRemovedThenNewAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/allKotlinFilesRemovedThenNewAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/classRedeclaration")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ClassRedeclaration extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInClassRedeclaration() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/classRedeclaration"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ClassToPackageFacade extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInClassToPackageFacade() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/classToPackageFacade"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/conflictingPlatformDeclarations")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class ConflictingPlatformDeclarations extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInConflictingPlatformDeclarations() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/conflictingPlatformDeclarations"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class DefaultValueInConstructorAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInDefaultValueInConstructorAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/defaultValueInConstructorAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class InlineFunctionWithJvmNameInClass extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInInlineFunctionWithJvmNameInClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/inlineFunctionWithJvmNameInClass"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class InlineTopLevelFunctionWithJvmName extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInInlineTopLevelFunctionWithJvmName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelFunctionWithJvmName"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class InlineTopLevelValPropertyWithJvmName extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInInlineTopLevelValPropertyWithJvmName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/inlineTopLevelValPropertyWithJvmName"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/innerClassNotGeneratedWhenRebuilding")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class InnerClassNotGeneratedWhenRebuilding extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInInnerClassNotGeneratedWhenRebuilding() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/innerClassNotGeneratedWhenRebuilding"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class JvmNameChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInJvmNameChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/jvmNameChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/mainRedeclaration")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MainRedeclaration extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMainRedeclaration() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/mainRedeclaration"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassAddTopLevelFunWithDefault extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassAddTopLevelFunWithDefault() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassAddTopLevelFunWithDefault"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassFileAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassFileAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassFileChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassFileChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileMovedToAnotherMultifileClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassFileMovedToAnotherMultifileClass extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassFileMovedToAnotherMultifileClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassFileMovedToAnotherMultifileClass"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunction")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassInlineFunction extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassInlineFunction() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunction"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunctionAccessingField")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassInlineFunctionAccessingField extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassInlineFunctionAccessingField() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassInlineFunctionAccessingField"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreated")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassRecreated extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassRecreated() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreated"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreatedAfterRenaming")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassRecreatedAfterRenaming extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassRecreatedAfterRenaming() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRecreatedAfterRenaming"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRemoved")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileClassRemoved extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileClassRemoved() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileClassRemoved"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifileDependantUsage extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifileDependantUsage() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifileDependantUsage"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifilePackagePartMethodAdded extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifilePackagePartMethodAdded() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifilePackagePartMethodAdded"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/multifilePartsWithProperties")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class MultifilePartsWithProperties extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInMultifilePartsWithProperties() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/multifilePartsWithProperties"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/optionalParameter")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class OptionalParameter extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInOptionalParameter() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/optionalParameter"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/packageFacadeToClass")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PackageFacadeToClass extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPackageFacadeToClass() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/packageFacadeToClass"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassOneFileWithPublicChanges")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PackageMultifileClassOneFileWithPublicChanges extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPackageMultifileClassOneFileWithPublicChanges() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassOneFileWithPublicChanges"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassPrivateOnlyChanged")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PackageMultifileClassPrivateOnlyChanged extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPackageMultifileClassPrivateOnlyChanged() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/packageMultifileClassPrivateOnlyChanged"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/publicPropertyWithPrivateSetterMultiFileFacade")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class PublicPropertyWithPrivateSetterMultiFileFacade extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInPublicPropertyWithPrivateSetterMultiFileFacade() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/publicPropertyWithPrivateSetterMultiFileFacade"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class TopLevelFunctionWithJvmName extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInTopLevelFunctionWithJvmName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/topLevelFunctionWithJvmName"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }

      @TestMetadata("jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName")
      @TestDataPath("$PROJECT_ROOT")
      @RunWith(JUnit3RunnerWithInners.class)
      public static class TopLevelPropertyWithJvmName extends AbstractIncrementalK2JvmCompilerRunnerTest {
        private void runTest(String testDataFilePath) {
          KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
        }

        public void testAllFilesPresentInTopLevelPropertyWithJvmName() {
          KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/withJava/other/topLevelPropertyWithJvmName"), Pattern.compile("^([^.]+)$"), null, true);
        }
      }
    }
  }

  @TestMetadata("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class IncrementalJvmCompilerOnlyAbstractIncrementalK2JvmCompilerRunnerTest extends AbstractIncrementalK2JvmCompilerRunnerTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
    }

    public void testAllFilesPresentInIncrementalJvmCompilerOnlyAbstractIncrementalK2JvmCompilerRunnerTest() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly"), Pattern.compile("^([^.]+)$"), null, true);
    }

    @TestMetadata("inlineFunctionRegeneratedObjectStability")
    public void testInlineFunctionRegeneratedObjectStability() {
      runTest("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionRegeneratedObjectStability/");
    }

    @TestMetadata("inlineFunctionSmapStability")
    public void testInlineFunctionSmapStability() {
      runTest("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionSmapStability/");
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionRegeneratedObjectStability")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class InlineFunctionRegeneratedObjectStability extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInInlineFunctionRegeneratedObjectStability() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionRegeneratedObjectStability"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }

    @TestMetadata("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionSmapStability")
    @TestDataPath("$PROJECT_ROOT")
    @RunWith(JUnit3RunnerWithInners.class)
    public static class InlineFunctionSmapStability extends AbstractIncrementalK2JvmCompilerRunnerTest {
      private void runTest(String testDataFilePath) {
        KotlinTestUtils.runTest(this::doTest, TargetBackend.JVM_IR, testDataFilePath);
      }

      public void testAllFilesPresentInInlineFunctionSmapStability() {
        KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/incrementalJvmCompilerOnly/inlineFunctionSmapStability"), Pattern.compile("^([^.]+)$"), null, true);
      }
    }
  }
}
